﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x02000519 RID: 1305
	public struct IVRScreenshots
	{
		// Token: 0x040010E8 RID: 4328
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._RequestScreenshot RequestScreenshot;

		// Token: 0x040010E9 RID: 4329
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._HookScreenshot HookScreenshot;

		// Token: 0x040010EA RID: 4330
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._GetScreenshotPropertyType GetScreenshotPropertyType;

		// Token: 0x040010EB RID: 4331
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._GetScreenshotPropertyFilename GetScreenshotPropertyFilename;

		// Token: 0x040010EC RID: 4332
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._UpdateScreenshotProgress UpdateScreenshotProgress;

		// Token: 0x040010ED RID: 4333
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._TakeStereoScreenshot TakeStereoScreenshot;

		// Token: 0x040010EE RID: 4334
		[MarshalAs(UnmanagedType.FunctionPtr)]
		internal IVRScreenshots._SubmitScreenshot SubmitScreenshot;

		// Token: 0x0200051A RID: 1306
		// (Invoke) Token: 0x06001B61 RID: 7009
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename);

		// Token: 0x0200051B RID: 1307
		// (Invoke) Token: 0x06001B65 RID: 7013
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotError _HookScreenshot([In] [Out] EVRScreenshotType[] pSupportedTypes, int numTypes);

		// Token: 0x0200051C RID: 1308
		// (Invoke) Token: 0x06001B69 RID: 7017
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError);

		// Token: 0x0200051D RID: 1309
		// (Invoke) Token: 0x06001B6D RID: 7021
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError);

		// Token: 0x0200051E RID: 1310
		// (Invoke) Token: 0x06001B71 RID: 7025
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress);

		// Token: 0x0200051F RID: 1311
		// (Invoke) Token: 0x06001B75 RID: 7029
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename);

		// Token: 0x02000520 RID: 1312
		// (Invoke) Token: 0x06001B79 RID: 7033
		[UnmanagedFunctionPointer(CallingConvention.StdCall)]
		internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename);
	}
}
